package com.xing.oauth.server.service;

import com.xing.oauth.server.model.TokenDto;
import org.apache.oltu.oauth2.as.request.OAuthTokenRequest;
import org.apache.oltu.oauth2.common.exception.OAuthSystemException;

import java.text.ParseException;

public interface AligenieTokenService {

    /**
     * 刷新token
     *
     * @param oAuthTokenRequest
     * @return
     */
    TokenDto refreshToken(OAuthTokenRequest oAuthTokenRequest) throws ParseException, OAuthSystemException;


    /**
     * 通过code生成token
     *
     * @param oAuthRequest
     * @return
     */
    TokenDto accessToken(OAuthTokenRequest oAuthRequest) throws ParseException, OAuthSystemException;



    /**
     * 通过阿里的token获取token信息
     * @param token
     * @return
     */
    TokenDto getTokenByAligenieToken(String token);

    /**
     * 删除token信息
     * @param id
     */
    void deleteToken(Integer id);
}
